iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0

今天來介紹Python裡重點一環的函數與物件導向。

放心,Python的物件導向不向Java或者C++那樣的複雜,Python的寫法絕對無腦。


函數

首先先上程式碼

大家猜想,以下程式碼的輸出結果為何?

def my_func():
    var1 = "I love "
    var2 = "Python a lot!"
    return var1 + var2

my_func()

沒錯!

就是輸出 "I love Python a lot!"

首先

def my_func():

為定義一函數名叫my_func且不帶引數。

那如何帶引數進入函數座使用呢?

def my_func(any_var):

只需要將括號內輸入一個變數名稱就可以供函數使用了喔

再來

    var1 = "I love "
    var2 = "Python a lot!"

各位看得懂吧,簡單的變數定義。

再來

    return var1 + var2

告訴函數結束執行並回傳變數回去給呼叫函數的地方,這裡的範例是回傳var1 + var2,當然就是回傳兩字串相加的結果。

最後

my_func()

此行則是告訴Python要呼叫my_func()這個函數


物件導向

各位不要聽到物件導向就覺得是很新奇的東西,以下由我來為各位簡單介紹物件導向。

class(物件),由物件(裡面的函數)組成,可由主程式或其他類別呼叫,是一個很方便且增加程式碼可讀性的寫法。

以下範例為定義一類別名叫car

class car:
    def Tesla_model(self, manufacturer):
        self.company = manufacturer
        return self.company
    
    def founder(self):
        return "Elon Musk"

是不是跟前面的函數長得很像呢,單純在函數的開頭定義了class與class的名稱。

這邊出現了一個詞"self",self是專屬於這個類別的區域變數,只要這個類別還存在,這個變數就不會消失。

也就是說

#一般寫法
company = "Telsa"
return company

#物件導向寫法
self.company = "Telsa"
return self.company

這兩種寫法都是回傳函數內名叫"company"的變數喔!

那我們該如何使用這個類別呢

class car:
    def Tesla_model(self, manufacturer):
        self.company = manufacturer
        return self.company
    
    def founder(self):
        return "Elon Musk"
    
model_y = car()
print(model_y.Tesla_model("Tesla"))
print(model_y.founder())

#output
Tesla
Elon Musk

第9行的地方我們定義了一個變數名叫model_y放入一個car的類別。

第10行我們呼叫car類別裡面的Tesla_model函數且增加了一個引數"Tesla"再印出回傳結果。

第11行我們單純呼叫car類別的founder函數,也就理所當然回傳字串"Elon Musk"且印出。


這邊不知道有沒有看懂物件導向呢?講了這麼多,也自己嘗試實作一次看看有多簡單吧!


上一篇
[Day 7] Day2~6複習
下一篇
[Day 9] json檔案操作
系列文
用30天打好Python、LineBot的基礎&基本應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言